package services.upms;

import base.IBaseServicesWithoutBLOBs;
import base.response.OffsetLimitPage;
import wt.entity.company.CompanyInfo;
import wt.entity.expertInfo.ExpertBase;
import wt.entity.staff.StaffInfo;
import wt.entity.upms.Account;
import wt.entity.upms.AccountExample;

import java.util.List;


/**
 * Created by Administrator on 2017/9/7.
 */
public interface AccountServices extends IBaseServicesWithoutBLOBs<Account,AccountExample> {
    void updateByPrimaryKeySelective(Account account,List<String> permissionIdList)  throws Exception;

    void insertSelective(Account account, List<String> permissionIdList)  throws Exception;
    void insertSelective(Account account, List<String> permissionIdList, ExpertBase expertBase)  throws Exception;
    void insertSelective(Account account, List<String> permissionIdList, StaffInfo staffInfo)  throws Exception;
    void insertSelective(Account account, List<String> permissionIdList, CompanyInfo companyInfo)  throws Exception;
    void insertSelective(Account account, String roleId, CompanyInfo companyInfo)  throws Exception;

    void lazyLoadRole(List<? extends  Account> accountList) throws Exception ;

    Account selectByLoginName(String loginName) throws Exception;

    OffsetLimitPage selectToMainShow(String name, String loginName, String  roleId, Integer limit, Integer offset) throws Exception ;








}
